import java.util.Random;
import java.util.Scanner;

/**
 * 加减法口算练习系统 - V0.1
 * 生成50道100以内的加减法算式
 */
class Calculation_System_V0_1 {
    public static void main(String[] args) {
        // 1) 如何产生100以内的随机数？使用Random类的nextInt方法
        // Random.nextInt(n) 生成0到n-1之间的随机整数，所以nextInt(100)生成0-99的随机数
        Random random = new Random();
        Scanner scanner = new Scanner(System.in);
        
        System.out.println("===== 加减法口算练习系统 - V0.1 =====");
        System.out.println("本次将生成50道100以内的加减法算式，请查看！\n");
        
        // 生成50道算式
        for (int i = 1; i <= 50; i++) {
            // 2) 如何表示一个算式？采用字符串表示法
            // 生成两个100以内的随机数
            int num1 = random.nextInt(100);
            int num2 = random.nextInt(100);
            
            // 随机选择加法或减法
            boolean isAddition = random.nextBoolean();
            
            // 确保减法结果不为负数
            if (!isAddition) {
                if (num1 < num2) {
                    // 交换两个数
                    int temp = num1;
                    num1 = num2;
                    num2 = temp;
                }
            }
            
            // 使用字符串表示算式
            String operator = isAddition ? " + " : " - ";
            String equation = num1 + operator + num2 + " = ";
            
            // 计算正确答案
            int correctAnswer = isAddition ? (num1 + num2) : (num1 - num2);
            
            // 输出算式
            System.out.println("第" + i + "题: " + equation + correctAnswer);
        }
        
        System.out.println("\n===== 算式生成完成 =====");
        System.out.println("共生成50道100以内加减法算式。");
        System.out.println("\n知识点说明：");
        System.out.println("1. 随机数生成：使用Java的Random类的nextInt(100)方法生成0-99的随机整数");
        System.out.println("2. 算式表示：使用字符串数据结构表示完整的算式，便于输出和处理");
        
        scanner.close();
    }
}